//using System;
//using System.Collections.Generic;
//using InseSoft.Model.Entities;
//using NHibernate;

//namespace InseSoft.Model.Repositories
//{
//    public interface IRepository
//    {
//        ISession Session { get; }
//        Func<DateTime> CurrentDateProvider { get; set; }
//        T GetById<T>(int id);
//        IEnumerable<T> GetActive<T>() where T : new();
//        IEnumerable<T> GetAll<T>() where T : new();
//        T Save<T>(T entity) where T : new();
//        void Delete<T>(T entity) where T : new();
//        TipoCambio GetTipoCambioByDate(DateTime fecha);
//        T GetOrNew<T>(int id) where T : class, new();
//        T Create<T>();
//        DateTime GetCurrentDate();
//    }
//}